package top.lidee.common.service.twice.popularize;

import com.baomidou.mybatisplus.extension.service.IService;
import top.lidee.common.dto.AccountInfo;
import top.lidee.framework.result.PageUtils;
import top.lidee.framework.result.ResponseResult;
import top.lidee.repository.model.twice.pojo.popularize.PtpBeesInfoEntity;
import top.lidee.repository.model.twice.vo.popularize.PtpBeesInfoSaveVo;
import top.lidee.repository.model.twice.vo.popularize.PtpBeesInfoUpdateVo;

import java.util.List;
import java.util.Map;

/**
 * 推广人/小蜜蜂人员表
 *
 * @author zhangzhan
 * @email 52194440@qq.com
 * @date 2024-09-23 14:39:33
 */
public interface PtpBeesInfoService extends IService<PtpBeesInfoEntity> {


    /**
     * @description 根据条件查询小蜜蜂
     * @param params
     * @return java.util.List<top.lidee.repository.model.twice.pojo.popularize.PtpBeesInfoEntity>
     * @author zhangyiheng
     * @date 2024/9/23 16:21
     */
    List<PtpBeesInfoEntity> queryBeesInfoByParams(Map<String, Object> params);

    /**
     * @description 推广人/小蜜蜂人员表-条件查询
     * @param params
     * @param accountInfo
     * @return top.lidee.framework.result.PageUtils
     * @author zhangyiheng
     * @date 2024/9/24 16:58
     */
    PageUtils queryPage(Map<String, Object> params, AccountInfo accountInfo);

    /**
     * @description 推广人/小蜜蜂人员表-新增
     * @param vo
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/9/24 17:27
     */
    ResponseResult saveBees(PtpBeesInfoSaveVo vo, AccountInfo accountInfo);

    /**
     * @description 推广人/小蜜蜂人员表-根据id查询
     * @param beesId
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/9/24 17:35
     */
    ResponseResult getBeesById(Integer beesId, AccountInfo accountInfo);

    /**
     * @description 推广人/小蜜蜂人员表-修改
     * @param vo
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/9/24 17:40
     */
    ResponseResult updateInfo(PtpBeesInfoUpdateVo vo, AccountInfo accountInfo);

    /**
     * @description 推广人/小蜜蜂人员表-修改状态
     * @param beesId
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/9/24 17:45
     */
    ResponseResult updateStatusById(Integer beesId, AccountInfo accountInfo);

    /**
     * @description 推广人/小蜜蜂人员表-删除小蜜蜂
     * @param beesIds
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/9/24 17:49
     */
    ResponseResult deleteByIds(Integer[] beesIds, AccountInfo accountInfo);

}

